home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / C / Applications / Python 1.3.3 / stdwin / Tools / lprintf.c < prev    next >
Text File  |  1995-12-21  |  611b  |  31 lines

  1. /* lprintf prints logging information into a circular buffer,
  2.    where it can be seen after the program has died.
  3.    The first call displays the address of the buffer. */
  4.  
  5. #define LBUFSIZE 4096
  6.  
  7. static char *next;
  8. static char lbuf[LBUFSIZE];
  9.  
  10.  
  11. lprintf(fmt, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
  12.     char *fmt;
  13. {
  14.     char buf[256];
  15.     char *p;
  16.     
  17.     if (next == 0) {
  18.         next= lbuf;
  19.         dprintf("lbuf at 0x%x ... 0x%x, next at 0x%x",
  20.                 lbuf, lbuf+LBUFSIZE, &next);
  21.     }
  22.     
  23.     sprintf(buf, fmt, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
  24.     
  25.     for (p= buf; *p; ) {
  26.         *next++ = *p++;
  27.         if (next >= lbuf+LBUFSIZE)
  28.             next= lbuf;
  29.     }
  30. }
  31.